package com.example.demo.service;

import com.example.demo.entity.Consultant;
import com.example.demo.entity.Supervisor;
import com.example.demo.entity.relation.ConsultRecord;
import com.example.demo.exception.EntityAlreadyExistException;
import com.example.demo.exception.EntityNotExistException;

import java.util.List;

public interface ConsultantService {
    String addConsultant(Consultant consultant) throws EntityAlreadyExistException;

    void deleteConsultant(String id);

    void deleteConsultants(List<String> ids);

    void updateConsultant(String id, Consultant consultant) throws EntityNotExistException;

    Consultant getConsultant(String id) throws EntityNotExistException;

    Consultant getConsultantByPhoneNumber(String phoneNumber) throws EntityNotExistException;

    List<Consultant> getConsultants(List<String> ids);

    List<Consultant> getAllConsultants();

    List<Consultant> getAllConsultantByIsSupervisor(String val);

    List<ConsultRecord> getConsultRecords(String consultantId);

    List<Supervisor> getBoundSupervisors(String consultantId);

    Boolean userAndConsultantHadRecords(String userId, String consultantId);
}
